package com.liuxinlong.modules.entity;

import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.Api;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 固资月度信息实体
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2023-11-17
 */
@Api("固资实体对象")
@Data
@TableName("pmip_assets_month_detail")
public class AssetsMonthDetail {
    /**
     * id
     */
    private String id;

    /**
     * 业务类型 1.固资预算 2.固资计划 3.固资预测 4.固资实际
     */
    private int businessType;

    /**
     * 业务id
     */
    private String businessId;

    /**
     * 锁定id
     */
    private String lockId;

    /**
     * 年度
     */
    private String infoYear;

    /**
     * 一月金额
     */
    private BigDecimal janAmount;

    /**
     * 二月金额
     */
    private BigDecimal febAmount;

    /**
     * 三月金额
     */
    private BigDecimal marAmount;

    /**
     * 四月金额
     */
    private BigDecimal aprAmount;

    /**
     * 五月金额
     */
    private BigDecimal mayAmount;

    /**
     * 六月金额
     */
    private BigDecimal junAmount;

    /**
     * 七月金额
     */
    private BigDecimal julAmount;

    /**
     * 八月金额
     */
    private BigDecimal augAmount;

    /**
     * 九月金额
     */
    private BigDecimal sepAmount;

    /**
     * 十月金额
     */
    private BigDecimal octAmount;

    /**
     * 十一月金额
     */
    private BigDecimal novAmount;

    /**
     * 十二月金额
     */
    private BigDecimal decAmount;

    /**
     * 创建人员
     */
    private String createUser;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 修改人员
     */
    private String updateUser;

    /**
     * 修改时间
     */
    private String updateTime;

    /**
     * 无参构造函数
     */
    public AssetsMonthDetail() {

    }

    /**
     * 带参构造函数
     *
     * @param amd 入参
     */
    public AssetsMonthDetail(AssetsMonthDetail amd) {
        businessType = amd.getBusinessType();
        businessId = amd.getBusinessId();
        infoYear = amd.getInfoYear();
        janAmount = amd.getJanAmount();
        febAmount = amd.getFebAmount();
        marAmount = amd.getMarAmount();
        aprAmount = amd.getAprAmount();
        mayAmount = amd.getMayAmount();
        junAmount = amd.getJunAmount();
        julAmount = amd.getJulAmount();
        augAmount = amd.getAugAmount();
        sepAmount = amd.getSepAmount();
        octAmount = amd.getOctAmount();
        novAmount = amd.getNovAmount();
        decAmount = amd.getDecAmount();
        createUser = amd.getCreateUser();
        createTime = amd.getCreateTime();
    }

    /**
     * 带参构造函数
     *
     * @param defaultAmount 入参
     */
    public AssetsMonthDetail(BigDecimal defaultAmount) {
        janAmount = defaultAmount;
        febAmount = defaultAmount;
        marAmount = defaultAmount;
        aprAmount = defaultAmount;
        mayAmount = defaultAmount;
        junAmount = defaultAmount;
        julAmount = defaultAmount;
        augAmount = defaultAmount;
        sepAmount = defaultAmount;
        octAmount = defaultAmount;
        novAmount = defaultAmount;
        decAmount = defaultAmount;
    }
}
